atoms = {
    '_PYTYLE_TYPE': ('ATOM', 32),
    '_PYTYLE_TYPE_PLACE_HOLDER': ('ATOM', 32),
    '_PYTYLE_TYPE_BORDER': ('ATOM', 32),

    'WM_CLASS': ('STRING', 8),
    'WM_HINTS': ('WM_HINTS', 32),
    'WM_NAME': ('STRING', 8),
    'WM_NORMAL_HINTS': ('WM_SIZE_HINTS', 32),
    'WM_PROTOCOLS': ('ATOM', 32),
    'WM_STATE': ('CARDINAL', 32),

    '_NET_SUPPORTED': ('ATOM', 32),
    '_NET_CLIENT_LIST': ('WINDOW', 32),
    '_NET_CLIENT_LIST_STACKING': ('WINDOW', 32),
    '_NET_NUMBER_OF_DESKTOPS': ('CARDINAL', 32),
    '_NET_DESKTOP_GEOMETRY': ('CARDINAL', 32),
    '_NET_DESKTOP_VIEWPORT': ('CARDINAL', 32),
    '_NET_CURRENT_DESKTOP': ('CARDINAL', 32),
    '_NET_DESKTOP_NAMES': ('UTF8_STRING[]', 8),
    '_NET_ACTIVE_WINDOW': ('WINDOW', 32),
    '_NET_WORKAREA': ('CARDINAL', 32),
    '_NET_SUPPORTING_WM_CHECK': ('WINDOW', 32),
    '_NET_VIRTUAL_ROOTS': ('WINDOW', 32),
    '_NET_DESKTOP_LAYOUT': ('CARDINAL', 32),
    '_NET_SHOWING_DESKTOP': ('CARDINAL', 32),

    '_NET_CLOSE_WINDOW': (None, 0),
    '_NET_MOVERESIZE_WINDOW': (None, 0),
    '_NET_WM_MORERESIZE': (None, 0),
    '_NET_RESTACK_WINDOW': (None, 0),
    '_NET_REQUEST_FRAME_EXTENTS': ('CARDINAL', 32),

    '_NET_WM_NAME': ('UTF8_STRING', 8),
    '_NET_WM_VISIBLE_NAME': ('UTF8_STRING', 8),
    '_NET_WM_ICON_NAME': ('UTF8_STRING', 8),
    '_NET_WM_VISIBLE_ICON_NAME': ('UTF8_STRING', 8),
    '_NET_WM_DESKTOP': ('CARDINAL', 32),
    '_NET_WM_WINDOW_TYPE': ('ATOM', 32),
    '_NET_WM_STATE': ('ATOM', 32),
    '_NET_WM_ALLOWED_ACTIONS': ('ATOM', 32),
    '_NET_WM_STRUT': ('CARDINAL', 32),
    '_NET_WM_STRUT_PARTIAL': ('CARDINAL', 32),
    '_NET_WM_ICON_GEOMETRY': ('CARDINAL', 32),
    '_NET_WM_ICON': ('CARDINAL', 32),
    '_NET_WM_PID': ('CARDINAL', 32),
    '_NET_WM_HANDLED_ICONS': ('CARDINAL', 32),
    '_NET_WM_USER_TIME': ('CARDINAL', 32),
    '_NET_FRAME_EXTENTS': ('CARDINAL', 32),

    '_OB_APP_TYPE': ('UTF8_STRING', 8),

    '_MOTIF_WM_HINTS': ('_MOTIF_WM_HINTS', 32),
}

window_types = {
    '_NET_WM_WINDOW_TYPE_DESKTOP': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_DOCK': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_TOOLBAR': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_MENU': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_UTILITY': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_SPLASH': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_DIALOG': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_DROPDOWN_MENU': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_POPUP_MENU': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_TOOLTIP': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_NOTIFICATION': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_COMBO': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_DND': ('ATOM', 32),
    '_NET_WM_WINDOW_TYPE_NORMAL': ('ATOM', 32)
}

window_states = {
    '_NET_WM_STATE_MODAL': ('ATOM', 32),
    '_NET_WM_STATE_STICKY': ('ATOM', 32),
    '_NET_WM_STATE_MAXIMIZED_VERT': ('ATOM', 32),
    '_NET_WM_STATE_MAXIMIZED_HORZ': ('ATOM', 32),
    '_NET_WM_STATE_SHADED': ('ATOM', 32),
    '_NET_WM_STATE_SKIP_TASKBAR': ('ATOM', 32),
    '_NET_WM_STATE_SKIP_PAGER': ('ATOM', 32),
    '_NET_WM_STATE_HIDDEN': ('ATOM', 32),
    '_NET_WM_STATE_FULLSCREEN': ('ATOM', 32),
    '_NET_WM_STATE_ABOVE': ('ATOM', 32),
    '_NET_WM_STATE_BELOW': ('ATOM', 32),
    '_NET_WM_STATE_DEMANDS_ATTENTION': ('ATOM', 32)
}

window_allowed_actions = {
    '_NET_WM_ACTION_MOVE': ('ATOM', 32),
    '_NET_WM_ACTION_RESIZE': ('ATOM', 32),
    '_NET_WM_ACTION_MINIMIZE': ('ATOM', 32),
    '_NET_WM_ACTION_SHADE': ('ATOM', 32),
    '_NET_WM_ACTION_STICK': ('ATOM', 32),
    '_NET_WM_ACTION_MAXIMIZE_HORZ': ('ATOM', 32),
    '_NET_WM_ACTION_MAXIMIZE_VERT': ('ATOM', 32),
    '_NET_WM_ACTION_FULLSCREEN': ('ATOM', 32),
    '_NET_WM_ACTION_CHANGE_DESKTOP': ('ATOM', 32),
    '_NET_WM_ACTION_CLOSE': ('ATOM', 32),
    '_NET_WM_ACTION_ABOVE': ('ATOM', 32),
    '_NET_WM_ACTION_BELOW': ('ATOM', 32)
}
